﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace PixelWarfare
{
    /// <summary>
    /// The method that will be called when a menu item is clicked.
    /// </summary>
    public delegate void OnClick();

    /// <summary>
    /// Interface to generalize all menu items so we can update them all
    /// with the same methods.
    /// </summary>
    interface IMenuItem
    {
        /// <summary>
        /// Draw the item.
        /// </summary>
        /// <param name="g">Graphics to be drawn on.</param>
        void Draw(Graphics g);

        /// <summary>
        /// Check if the mouse has moved over the item.
        /// </summary>
        /// <param name="x">X coordinate.</param>
        /// <param name="y">Y coordinate.</param>
        void MouseMove(int x, int y);

        /// <summary>
        /// Check if the mouse is pressed on the item.
        /// </summary>
        /// <param name="x">X coordinate.</param>
        /// <param name="y">Y coordinate.</param>
        void MousePress(int x, int y);

        /// <summary>
        /// Update the item if needed.
        /// </summary>
        void Update();
    }
}
